package org.abc.fund.dto.combination; // 请确保包名正确

import jakarta.validation.constraints.NotBlank; // 引入校验注解
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Positive;
import lombok.Data;

/**
 * 组合产品持仓的数据传输对象 (DTO)。
 * 职责：用于在API请求和响应中携带单个持仓的信息。
 * 它是一个纯粹的数据容器，不包含任何数据库实体逻辑或循环引用。
 */
@Data
public class CombinationHoldingDTO {

    /**
     * 基金代码。
     * @NotBlank 注解可以确保客户端在提交数据时，这个字段不会是 null 或空字符串。
     */
    @NotBlank(message = "基金代码不能为空")
    private String fundCode;

    /**
     * 持仓百分比。
     * @NotNull 确保这个值不为 null。
     * @Positive 确保百分比是一个正数。
     */
    @NotNull(message = "持仓百分比不能为空")
    @Positive(message = "持仓百分比必须是正数")
    private Double targetRatio;
}